/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2021-2021.
 * Description: rtos feature dump interface
 * Author: zhuyan
 * Create: 2021/6/15
 */

#ifndef LINUX_RTOS_DUMP_H
#define LINUX_RTOS_DUMP_H

#if defined(CONFIG_RTOS_DEBUG_LOCK_MEM_DUMP) || defined(CONFIG_RTOS_LOCK_STATE_CHANGE_CHECK)
extern void rtos_dump_lock_mem(unsigned long addr);
#endif

#define MAX_ADDR_OFFSET (-256UL)
extern void do_show_data(unsigned long address, int bytes, const char *reg_name);
extern void do_show_user_data(unsigned long address, int bytes, const char *reg_name);
#endif
#ifdef CONFIG_RTOS_DEBUG_DUMP_AROUND_REGISTER_MEM
extern void show_extra_register_data(struct pt_regs *regs, int left, int right);
#endif
#ifdef CONFIG_RTOS_DEBUG_DUMP_USER_PROCESS
extern void dump_user_exception(struct task_struct *p, const kernel_siginfo_t *siginfo);
extern unsigned int dump_user_process_exception_info;
#ifdef CONFIG_RTOS_KBOX
extern int proc_dump_user_process_log_size(struct ctl_table *table, int write,
				void __user *buffer,
				size_t *lenp, loff_t *ppos);
#endif
#endif
